<?php
// +----------------------------------------------------------------------
// | jayboyBlog
// +----------------------------------------------------------------------
// | Copyright (c) 2008 http://www.jayboy.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: jayboy <yinwengui@gmail.com>
// +----------------------------------------------------------------------

/**
 +----------------------------------------------------------
 * 上传图片
 +----------------------------------------------------------
 * @return String
 +----------------------------------------------------------
 */
function uploadfile($inputname)
{
	$attachdir='upload';//上传文件保存路径，结尾不要带/
	$dirtype=1;//1:按天存入目录 2:按月存入目录 3:按扩展名存目录  建议使用按天存
	$maxattachsize=2097152;//最大上传大小，默认是2M
	
	$err = "";
	$msg = "";
	$upfile=$_FILES[$inputname];
	if(!empty($upfile['error']))
	{
		switch($upfile['error'])
		{
			case '1':
				$err = '文件大小超过了php.ini定义的upload_max_filesize值';
				break;
			case '2':
				$err = '文件大小超过了HTML定义的MAX_FILE_SIZE值';
				break;
			case '3':
				$err = '文件上传不完全';
				break;
			case '4':
				$err = '无文件上传';
				break;
			case '6':
				$err = '缺少临时文件夹';
				break;
			case '7':
				$err = '写文件失败';
				break;
			case '8':
				$err = '上传被其它扩展中断';
				break;
			case '999':
			default:
				$err = '无有效错误代码';
		}
	}
	elseif(empty($upfile['tmp_name']) || $upfile['tmp_name'] == 'none')
	{
		$err = '无文件上传';
	}
	else
	{
			$temppath=$upfile['tmp_name'];
			$attachinfo= @getimagesize($temppath);
			if($attachinfo[2]==IMAGETYPE_GIF||$attachinfo[2]==IMAGETYPE_JPEG||$attachinfo[2]==IMAGETYPE_PNG)
			{
				$extension=image_type_to_extension($attachinfo[2],false);
				$filesize=filesize($temppath);
				if($filesize <= $maxattachsize)
				{
					switch($dirtype)
					{
						case 1: $attach_subdir = 'day_'.date('ymd'); break;
						case 2: $attach_subdir = 'month_'.date('ym'); break;
						case 3: $attach_subdir = 'ext_'.$extension; break;
					}
					$attach_dir = $attachdir.'/'.$attach_subdir;
					if(!is_dir($attach_dir))
					{
						@mkdir($attach_dir, 0777);
						@fclose(fopen($attach_dir.'/index.htm', 'w'));
					}
					PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000);
					$filename=date("YmdHis").mt_rand(1000,9999).'.'.$extension;
					$target = $attach_dir.'/'.$filename;
					
					move_uploaded_file($upfile['tmp_name'],$target);
					$msg=$target;
				}
				else $err='文件大小超过'.$maxattachsize.'字节';
			}
			else $err='文件格式必需为以下格式：jpg,gif,png';

			@unlink($temppath);
	}
	return array('err'=>$err,'msg'=>$msg);
}
?>